class Product { }  // 父类产品
class ProductA : Product { }  // 子类产品A
class ProductB : Product { }  // 子类产品B

// 简单工厂
class SimpleFactory {
    // 根据用户参数,实例化具体子类,以父类类型返回
    public static Product GetProduct (string productName) {
        switch (productName) {
            case "A": return new ProductA ();
            case "B": return new ProductB ();
            default:  throw new NullReferenceException();;
        }
    }
}